package models; import java.util.Observable; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; public class Word extends Observable implements DictionaryEntry { private String content; private boolean isPreposition; public Word(){ } @JsonCreator public Word(@JsonProperty("content") String content, @JsonProperty("isPreposition") boolean isPreposition){ this.content = content; this.isPreposition = isPreposition; } public void update(String content){ setChanged(); notifyObservers(content); } public String getContent() { return content; } public boolean isPreposition() { return isPreposition; } public void setContent(String content) { this.content = content; } public void setPreposition(boolean isPreposition) { this.isPreposition = isPreposition; } public boolean equals(Object obj){ if (!(obj instanceof Word)) return false; if(this.content.equals(((Word)obj).getContent()) && (this.isPreposition == ((Word)obj).isPreposition())) return true; return false; } public int hashCode(){ return 37*(37 * 23 + content.hashCode()) + (isPreposition ? 0 : 1); } public String toString(){ return content; } }